/**
 * @copyright Copyright (c) 2024 COOREAL. All rights reserved.
 * @author wcfan @date 2024-11-11
 * @description 提供一个json转化帮助类。
 */

import _ from 'lodash';

/**
 * JSON帮助类。
 */
export class JsonHelper {
  /**
   * 将对象转换成json字符串
   * @param { KrRecordable } obj 对象值
   * @returns { string } 返回json字符串
   */
  static toJsonstr(obj: Map<String, Object>): string {
    return JSON.stringify(obj);
  }

  /**
   * 将json字符串转换成对象
   * @param { string  } json json字符串
   * @returns { T } 返回json
   */
  static toJson<T>(json: string): T {
    return JSON.parse(json) as T;
  }

  /**
   * 拷贝对象
   * @param { T } obj - 拷贝对象
   * @returns { T } 拷贝后的对象
   */
  static copyObject<T>(obj: T): T {
    return _.cloneDeep<T>(obj);
  }
}
